This invention is directed to a functional data interface method and apparatus for manipulating the storage and retrieval of functional data of a logical circuit into and out of a function database.
Because of the rapid progress in IC integration scale, automated design techniques covering from logical design to layout design have been widely applied, and the standardization of data representations at net list levels and data interface methods is in progress (see "CFI Design Representation Programming Interface").
Meanwhile, functional design automation at higher conceptual. levels (e.g., register transfer level) is also in intensive research with its main themes:
(1) DATA PATH SYNTHESIS PA1 (2) CONTROL SYNTHESIS PA1 (3) PERFORMANCE ESTIMATION PA1 (4) CIRCUIT PARTITION
(e.g., STATE MACHINE PARTITION and DATA PATH PARTITION)
One of the usual functional data interface techniques is now described. In such a technique, a file of data records described by means of a hardware description language (HDL) is input so as to create internal data, otherwise an HDL file is created from internal data and the created HDL file is output. For instance, a tool, which inputs graphic forms to perform functional design, generates an HDL description from an input graphic form. Such a generated HDL description (i.e., functional design data) is forwarded to another tool such as a logical synthesizer and simulator.
In the above-mentioned functional data interface technique, each tool serves as an interface between an HDL description and internal data. If tools vary to many types, this produces the following drawbacks:
(i) If changes in the HDL specification (representation format) are made, this gives rise to revisions to individual tools. As the number of tools increases, high-speed processing becomes more difficult.
(ii) Each tool has its own data representation format and database. The difficulty comes in unifying a system containing plural tools in order that the system has a single common data representation format and a single common database.
(iii) For the case of (ii), it can be taken to use a particular one of databases of plural tools within the system to make it serve as a common database. This, however, results in creating an environment where different representation formats concurrently exist in such a common database. As a result, data communication from the common data base to a specific tool becomes complicated. Further, an unwanted case where there is a sufficient quantity of data with respect to a tool whose database is selected as a common database while another tool lacks in data may occur. This prevents that common database from working as a common database.